﻿#ifndef COMMAND_H
#define COMMAND_H

#include <QObject>

class Command : public QObject
{
    Q_OBJECT
public:
    explicit Command(QObject *parent = nullptr);


public:


    /**
     * 查看当前账户是否为root账号
     * @brief isRoot
     * @return
     */
    bool isRoot();

    /**
     * 命令是否存在
     * @param command
     * @return
     */
    bool isCommandExist(const QString& command);


    /**
     * 执行命令
     * @param command
     * @return
     */
    bool cmd(const QString& command, const QString* arg, const int len);


    /**
     * 执行命令
     * @param command
     * @return
     */
    bool cmd(const QString& command);


    /**
     * 执行命令 并返回命令内容
     * @param command
     * @return
     */
    QString cmdWithContent(const QString& command, const QString* arg = NULL, const int len = 0);


public:
    static Command& INSTANCE();


signals:

};

#endif // COMMAND_H
